#include "StatusBar.h"

#include "StatusBar/EditorStatusBarModel.h"
#include "StatusBar/EditorStatusBarViewModel.h"
#include "StatusBar/EditorStatusBarView.h"

#include "StatusBar/EditorStatusItemModel.h"
#include "StatusBar/EditorStatusItemViewModel.h"
#include "StatusBar/EditorStatusItemView.h"


#include "StatusBar/FPS/EditorFPSStatusModel.h"
#include "StatusBar/FPS/EditorFPSStatusViewModel.h"
#include "StatusBar/FPS/EditorFPSStatusView.h"

#include "StatusBar/TestButton/EditorTestButtonStatusModel.h"
#include "StatusBar/TestButton/EditorTestButtonStatusViewModel.h"
#include "StatusBar/TestButton/EditorTestButtonStatusView.h"

#include "StatusBar/Notification/EditorNoticationStatusModel.h"
#include "StatusBar/Notification/EditorNoticationStatusViewModel.h"
#include "StatusBar/Notification/EditorNoticationStatusView.h"

#include "Framework/Editor.h"

void WHE::RegisterStatusBarMVVM()
{
    //注册所有的状态栏的MVVM关系
    auto Editor=REditor::Get();

    Editor->RegisterMVVM(
        REditorStatusBarModel::StaticClass()
        , REditorStatusBarViewModel::StaticClass()
        , REditorStatusBarView::StaticClass());

    Editor->RegisterMVVM(
        REditorStatusItemModel::StaticClass()
        , REditorStatusItemViewModel::StaticClass()
        , REditorStatusItemView::StaticClass());

    Editor->RegisterMVVM(
        REditorFPSStatusModel::StaticClass()
        , REditorFPSStatusViewModel::StaticClass()
        , REditorFPSStatusView::StaticClass());

    Editor->RegisterMVVM(
        REditorTestButtonStatusModel::StaticClass()
        , REditorTestButtonStatusViewModel::StaticClass()
        , REditorTestButtonStatusView::StaticClass());

    Editor->RegisterMVVM(
        REditorNoticationStatusModel::StaticClass()
        , REditorNoticationStatusViewModel::StaticClass()
        , REditorNoticationStatusView::StaticClass());

}